var selectedClientesValues = [];
$(function() {
    loadActionClientesSelect('Roloperaciones');
});
function loadActionClientesSelect(contenedor) {
    $("input[type='checkbox'][container='" + contenedor + "'].ckeckRow").change(function() {
        selectClientesRow($(this).attr('id'), $(this).attr('container'));
    });
    $("input[type='checkbox'][container='" + contenedor + "']#selectall").change(function() {
        $contenedorAll = $(this).attr('container');
        if ($(this).is(':checked'))
        {
            $("input[container='" + $contenedorAll + "'].ckeckRow").prop('checked', true);
        }
        else
        {
            $("input[container='" + $contenedorAll + "'].ckeckRow").prop('checked', false);
        }
        $.each($("input[type='checkbox'][container='" + contenedor + "'].ckeckRow"), function() {
            if ($contenedorAll == $(this).attr('container'))
            {
                selectClientesRow($(this).attr('id'), $(this).attr('container'));
            }
        });
    });

}
function updateCheckedClientesRaw() {
    if (selectedClientesValues != '')
    {
        $.each(selectedClientesValues, function(index, value) {

            var check_row = $('input[container="Roloperaciones"]#ckb_' + value);
            if (check_row)
            {
                check_row.prop('checked', true);
                check_row.parent().parent().addClass('selected');
            }
        });
    }
}
function selectClientesRow(element, contenedor)
{
    console.log(selectedClientesValues);
    $elementCKB = $("input[id='" + element + "'][container='" + contenedor + "'].ckeckRow");
    if ($elementCKB.is(':checked'))
    {
        $elementCKB.parent().parent().addClass('selected');
        selectedClientesValues.push($elementCKB.val());
        console.log(selectedClientesValues);
    }
    else
    {
        $elementCKB.parent().parent().removeClass('selected');
        deleteClientesElemen(selectedClientesValues, $elementCKB.val());
    }
}
function deleteClientesElemen(contenerArray, val) {
    $.each(contenerArray, function(index, value) {
        if (val == value)
        {
            contenerArray.splice(index, 1);
        }
    });
}
function ExporCont(all) {
    if (all) {

        $('#formId').attr('action', baseUrl + "campanias/CampaniaClientesOwner/exportExcel");
        $('#id_contac').val('todos');
        $('#campania_id').val(entidad_id);
        $('#operador_id').val(operador_id);
        $('#formId').submit();
    } else {

//        var selected = $("#operador-grid").selGridView("getAllSelection");
        var selected = selectedClientesValues;
        if (selected != '') {

            $('#formId').attr('action', baseUrl + "campanias/CampaniaClientesOwner/exportExcel");
            $('#id_contac').val(selected);
            $('#campania_id').val(entidad_id);
            $('#operador_id').val(operador_id);
            $('#formId').submit();
        } else {
            bootbox.alert("Seleccione al menos un Contacto.");
        }
    }
}
/**
 * @author Miguel Alba <malba@tradesystem.com.ec>
 * @param {type} all tru o false desde l menu superior Operador
 * @returns {undefined}
 */
//Funciones para el menu operador parte superior
function enviarSmsContactos(all) {
    if (all) {

        loadModalActionSelected("sms/sms/ajaxCargarFormularioCampaniaRoles", {selected: 'all', campania_id: entidad_id, operador_id: operador_id});
    } else {
        // Obtiene todos los id selecionados de gridview y se los pone al input que esta oculto
//        var selected = $("#operador-grid").selGridView("getAllSelection");
        var selected = selectedClientesValues;
//        var selected = selectedValues;
        if (selected != '') {
            $.ajax({
                type: "POST",
                url: baseUrl + "sms/sms/ajaxCargarFormularioCampaniaRoles",
//                sms/sms/cargarFormularioSmsCampania/cuenta_id/
                dataType: 'json',
                data: {selected: selected, campania_id: entidad_id, operador_id: operador_id},
                beforeSend: function() {
                    showModalLoading();
                },
                success: function(data) {
                    if (data.success) {
                        showModalData(data.html);
                    } else {
                        $("#mainModal").modal("hide");
                        bootbox.alert(data.error);
                    }
                }
            });
        } else {
            bootbox.alert("Seleccione al menos un cliente.");
        }
    }
}

/*********************************************************************************************/
/*MANDRILL ENVIO MAILS*/
/*FUNCION QUE PERMINE ENVIAR MAILS CON SELECCIONAR DE MEDIOS DESDE BARRA DE MENU*/
function enviarMailContactos(all) {
    if (all) {
        $.ajax({
            type: "POST",
            url: baseUrl + "crm/contacto/ajaxCargarMedioEnvio",
            dataType: 'json',
            data: {
                id_cliente: "todos",
                campania_id: entidad_id,
            },
            beforeSend: function() {
                showModalLoading();
            },
            success: function(data) {
                if (data.success) {
                    showModalData(data.html);
                } else {
                    $("#mainModal").modal("hide");
                    bootbox.alert(data.error);
                }
            }
        });
    } else {
        // Recoje todos los id selecionados de gridview y se los pone al input que esta oculto
//        var selected = $("#operador-grid"   var selected = selectedValues.Roloperaciones;).selGridView("getAllSelection");
        var selected = selectedClientesValues;
//        var selected = selectedValues;
        if (selected != '') {
            alert(selected);
            $.ajax({
                type: "POST",
//                url: baseUrl + "crm/contacto/ajaxCargarMedioEnvio",
//                  url: baseUrl + "mail/mail/cargarFormularioMail",
                url: baseUrl + "crm/contacto/ajaxCargarMedioEnvio",
//                url: baseUrl + "campanias/campania/ajaxCargarMedioEnvio",
                dataType: 'json',
                data: {
                    id_cliente: selected,
                    campania_id: entidad_id
                },
                beforeSend: function() {
                    showModalLoading();
                },
                success: function(data) {
                    if (data.success) {
                        showModalData(data.html);
                        loadActionSelect();
                    } else {
                        $("#mainModal").modal("hide");
                        bootbox.alert(data.error);
                    }
                }
            });
        } else {
            bootbox.alert("Seleccione al menos un cliente.");
        }
    }
}

/**
 * 
 * @param {type} Formulario
 * guarda por ajax las aciones de mail, sms y llamada
 */
function AjaxCrearAccion(Formulario)
{
//    console.log('sdfsd');
    var listas = new Array();
    listas[0] = 'contacto-grid';
    listas[1] = 'tarea-grid';
    BloquearBotonesModal(Formulario);
    AjaxAccionModal(Formulario, function() {
        ActualizarInformacionAccion(listas);
    });
}

// Acciones segun las acciones de cada campania
function crearLlamada(id, cco_id) {
    var url = "llamadas/llamada/cargarFormularioLlamadaSalienteCampania/contacto_id/" + id + '/campania_id/' + entidad_id + '/camp_clie_owner/' + cco_id;
    viewModal(url, function() {
        maskAttributes();
    });

}

function  crearLlamadaCampania(id, cco_id) {
//    console.log(id,cco_id);
    crearLlamada(id, cco_id);
    return false;
}
function  crearEmailCampania(id, cco_id) {
    medioEnviarMailSolo(id, cco_id);
    return false;
}
function  crearEmailCampaniaRol(id, cco_id) {
    medioEnviarMailSoloRol(id, cco_id);
    return false;
}
function medioEnviarMailSoloRol(id, cco_id) {

    $.ajax({
        type: "POST",
//        url: baseUrl + "campanias/campania/ajaxCargarMedioEnvio",
        url: baseUrl + "crm/contacto/ajaxCargarMedioEnvio",
        dataType: 'json',
        data: {
            id_cliente: id,
            cco_id: cco_id, //id del registro 
            campania_id: entidad_id
        },
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
//                alert('yes');
                loadActionSelect();
            } else {
                $("#mainModal").modal("hide");
                bootbox.alert(data.error);
            }
        }
    });
}
function  crearSmsCampania(url) {
//    medioEnviarMailSolo(id);
//console.log(baseUrl+url);

    viewModal(url, function() {
    });
    return false;
}
/**************************************MAIL*************************************************/
/*CArga modal para elegir el medio d eenvio para contactos*/
//alert('entra');
function medioEnviarMailSolo(id, cco_id) {

    $.ajax({
        type: "POST",
//        url: baseUrl + "campanias/campania/ajaxCargarMedioEnvio",
        url: baseUrl + "campanias/campania/ajaxCargarMedioEnvioContactoCampania",
        dataType: 'json',
        data: {
            id_cuenta: id,
            cco_id: cco_id
//               id_campania: entidad_id
        },
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
//                alert('yes');
                loadActionSelect();
            } else {
                $("#mainModal").modal("hide");
                bootbox.alert(data.error);
            }
        }
    });
}

//Funcion para enviar msjs por cada cliente
function enviarSms(id) {
    var url = "sms/sms/cargarFormularioSmsCampania/cuenta_id/" + id + '/campania_id/' + entidad_id;
    viewModal(url, function() {
        maskAttributes();
    });
}
function loadModalActionSelected(url, data) {

    $.ajax({
        type: "POST",
        url: baseUrl + url,
//            url: baseUrl + "campanias/campaniaClientesOwner/AjaxAsignarOperador",
        dataType: 'json',
        data: data,
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
                $('#btn_todos').addClass('hidden');
            } else {
                $('#mainModal').modal('hide');
                bootbox.alert(data.error);
            }
        }
    });

//    AjaxAsignarOperador
}

//function ajaxAgregar(id_contactos, alerta, cco_id) {
////    console.log(id_contactos, alerta);
////selectedClientesValues
//    if (selectedValues != '')
//    {
////        console.log(selectedValues);
////        console.log(alerta); 
//        $.ajax({
//            type: 'POST',
//            url: baseUrl + "campanias/campania/ajaxCargarFormularioMedioEnvio",
//            dataType: 'json',
//            data: {
//                medio: selectedClientesValues,
//                id_contactos: id_contactos,
//                alerta: alerta,
//                id_campania: entidad_id,
//                cco_id: cco_id
//            },
//            success: function(data, textStatus, jqXHR) {
//                if (data.success)
//                {
//                    showModalData(data.html);
////                    $("#mainModal").modal('hide');
//                    //  ActualizarInformacion("#addUser-grid");
////                    $.fn.yiiGridView.update("addUser-grid");
//                }
//                else {
//                    $("#mainModal").modal('hide');
//                    bootbox.alert(data.error, function() {
//                        $("#mainModal").modal('show');
//                    });
//                }
//            }
//        });
//    }
//    else
//    {
//        $("#mainModal").modal('hide');
//        bootbox.alert('Seleccione por lo menos un medio de envio.', function() {
//            $("#mainModal").modal('show');
//        });
//    }
//}
//var selectedValues;
//var inputCheckboxElement = [];
//function loadActionSelect() {
//    inputCheckboxElement['checkRaw'] = $("input[type='checkbox'].ckeckRow");
//    inputCheckboxElement.checkRaw.change(function() {
//        selectRow($(this).attr('id'));
//    });
//}
//function updateCheckedRaw() {
//    $.each(selectedValues, function(index, value) {
//        var check_row = $('input#ckb_' + value);
//        if (check_row)
//        {
//            check_row.prop('checked', true);
//            check_row.parent().parent().addClass('selected');
//        }
//    });
//    if ($("input.ckeckRow").is(':checked'))
//    {
//        $("input[type='checkbox']#selectall").prop('checked', true);
//    }
//
//}
//
